;--- include file created by h2incx v0.86, copyright 2005 japheth
;--- source file: WINSPOOL.H, last modified: 4/24/1998 0:0
ifndef _WINSPOOL_
_WINSPOOL_	EQU	<>
ifdef __cplusplus 
;extern "C"{ 
endif 
ifdef _WINUSER_ 
	include prsht.inc
endif 
PRINTER_INFO_1A	struct
Flags	DWORD	?
pDescription	LPSTR	?
pName	LPSTR	?
pComment	LPSTR	?
PRINTER_INFO_1A	ends

PPRINTER_INFO_1A typedef ptr PRINTER_INFO_1A
LPPRINTER_INFO_1A typedef ptr PRINTER_INFO_1A

PRINTER_INFO_1W	struct
Flags	DWORD	?
pDescription	LPWSTR	?
pName	LPWSTR	?
pComment	LPWSTR	?
PRINTER_INFO_1W	ends

PPRINTER_INFO_1W typedef ptr PRINTER_INFO_1W
LPPRINTER_INFO_1W typedef ptr PRINTER_INFO_1W

ifdef UNICODE 
PRINTER_INFO_1  typedef PRINTER_INFO_1W
PPRINTER_INFO_1  typedef PPRINTER_INFO_1W
LPPRINTER_INFO_1  typedef LPPRINTER_INFO_1W
else 
PRINTER_INFO_1  typedef PRINTER_INFO_1A
PPRINTER_INFO_1  typedef PPRINTER_INFO_1A
LPPRINTER_INFO_1  typedef LPPRINTER_INFO_1A
endif 
PRINTER_INFO_2A	struct
pServerName	LPSTR	?
pPrinterName	LPSTR	?
pShareName	LPSTR	?
pPortName	LPSTR	?
pDriverName	LPSTR	?
pComment	LPSTR	?
pLocation	LPSTR	?
pDevMode	LPDEVMODEA	?
pSepFile	LPSTR	?
pPrintProcessor	LPSTR	?
pDatatype	LPSTR	?
pParameters	LPSTR	?
pSecurityDescriptor	PSECURITY_DESCRIPTOR	?
Attributes	DWORD	?
Priority	DWORD	?
DefaultPriority	DWORD	?
StartTime	DWORD	?
UntilTime	DWORD	?
Status	DWORD	?
cJobs	DWORD	?
AveragePPM	DWORD	?
PRINTER_INFO_2A	ends

PPRINTER_INFO_2A typedef ptr PRINTER_INFO_2A
LPPRINTER_INFO_2A typedef ptr PRINTER_INFO_2A

PRINTER_INFO_2W	struct
pServerName	LPWSTR	?
pPrinterName	LPWSTR	?
pShareName	LPWSTR	?
pPortName	LPWSTR	?
pDriverName	LPWSTR	?
pComment	LPWSTR	?
pLocation	LPWSTR	?
pDevMode	LPDEVMODEW	?
pSepFile	LPWSTR	?
pPrintProcessor	LPWSTR	?
pDatatype	LPWSTR	?
pParameters	LPWSTR	?
pSecurityDescriptor	PSECURITY_DESCRIPTOR	?
Attributes	DWORD	?
Priority	DWORD	?
DefaultPriority	DWORD	?
StartTime	DWORD	?
UntilTime	DWORD	?
Status	DWORD	?
cJobs	DWORD	?
AveragePPM	DWORD	?
PRINTER_INFO_2W	ends

PPRINTER_INFO_2W typedef ptr PRINTER_INFO_2W
LPPRINTER_INFO_2W typedef ptr PRINTER_INFO_2W

ifdef UNICODE 
PRINTER_INFO_2  typedef PRINTER_INFO_2W
PPRINTER_INFO_2  typedef PPRINTER_INFO_2W
LPPRINTER_INFO_2  typedef LPPRINTER_INFO_2W
else 
PRINTER_INFO_2  typedef PRINTER_INFO_2A
PPRINTER_INFO_2  typedef PPRINTER_INFO_2A
LPPRINTER_INFO_2  typedef LPPRINTER_INFO_2A
endif 
PRINTER_INFO_3	struct
pSecurityDescriptor	PSECURITY_DESCRIPTOR	?
PRINTER_INFO_3	ends

PPRINTER_INFO_3 typedef ptr PRINTER_INFO_3
LPPRINTER_INFO_3 typedef ptr PRINTER_INFO_3

PRINTER_INFO_4A	struct
pPrinterName	LPSTR	?
pServerName	LPSTR	?
Attributes	DWORD	?
PRINTER_INFO_4A	ends

PPRINTER_INFO_4A typedef ptr PRINTER_INFO_4A
LPPRINTER_INFO_4A typedef ptr PRINTER_INFO_4A

PRINTER_INFO_4W	struct
pPrinterName	LPWSTR	?
pServerName	LPWSTR	?
Attributes	DWORD	?
PRINTER_INFO_4W	ends

PPRINTER_INFO_4W typedef ptr PRINTER_INFO_4W
LPPRINTER_INFO_4W typedef ptr PRINTER_INFO_4W

ifdef UNICODE 
PRINTER_INFO_4  typedef PRINTER_INFO_4W
PPRINTER_INFO_4  typedef PPRINTER_INFO_4W
LPPRINTER_INFO_4  typedef LPPRINTER_INFO_4W
else 
PRINTER_INFO_4  typedef PRINTER_INFO_4A
PPRINTER_INFO_4  typedef PPRINTER_INFO_4A
LPPRINTER_INFO_4  typedef LPPRINTER_INFO_4A
endif 
PRINTER_INFO_5A	struct
pPrinterName	LPSTR	?
pPortName	LPSTR	?
Attributes	DWORD	?
DeviceNotSelectedTimeout	DWORD	?
TransmissionRetryTimeout	DWORD	?
PRINTER_INFO_5A	ends

PPRINTER_INFO_5A typedef ptr PRINTER_INFO_5A
LPPRINTER_INFO_5A typedef ptr PRINTER_INFO_5A

PRINTER_INFO_5W	struct
pPrinterName	LPWSTR	?
pPortName	LPWSTR	?
Attributes	DWORD	?
DeviceNotSelectedTimeout	DWORD	?
TransmissionRetryTimeout	DWORD	?
PRINTER_INFO_5W	ends

PPRINTER_INFO_5W typedef ptr PRINTER_INFO_5W
LPPRINTER_INFO_5W typedef ptr PRINTER_INFO_5W

ifdef UNICODE 
PRINTER_INFO_5  typedef PRINTER_INFO_5W
PPRINTER_INFO_5  typedef PPRINTER_INFO_5W
LPPRINTER_INFO_5  typedef LPPRINTER_INFO_5W
else 
PRINTER_INFO_5  typedef PRINTER_INFO_5A
PPRINTER_INFO_5  typedef PPRINTER_INFO_5A
LPPRINTER_INFO_5  typedef LPPRINTER_INFO_5A
endif 
PRINTER_INFO_6	struct
dwStatus	DWORD	?
PRINTER_INFO_6	ends

PPRINTER_INFO_6 typedef ptr PRINTER_INFO_6
LPPRINTER_INFO_6 typedef ptr PRINTER_INFO_6

PRINTER_INFO_7A	struct
pszObjectGUID	LPSTR	?
dwAction	DWORD	?
PRINTER_INFO_7A	ends

PPRINTER_INFO_7A typedef ptr PRINTER_INFO_7A
LPPRINTER_INFO_7A typedef ptr PRINTER_INFO_7A

PRINTER_INFO_7W	struct
pszObjectGUID	LPWSTR	?
dwAction	DWORD	?
PRINTER_INFO_7W	ends

PPRINTER_INFO_7W typedef ptr PRINTER_INFO_7W
LPPRINTER_INFO_7W typedef ptr PRINTER_INFO_7W

ifdef UNICODE 
PRINTER_INFO_7  typedef PRINTER_INFO_7W
PPRINTER_INFO_7  typedef PPRINTER_INFO_7W
LPPRINTER_INFO_7  typedef LPPRINTER_INFO_7W
else 
PRINTER_INFO_7  typedef PRINTER_INFO_7A
PPRINTER_INFO_7  typedef PPRINTER_INFO_7A
LPPRINTER_INFO_7  typedef LPPRINTER_INFO_7A
endif 
DSPRINT_PUBLISH	EQU	1
DSPRINT_UPDATE	EQU	2
DSPRINT_UNPUBLISH	EQU	3
PRINTER_CONTROL_PAUSE	EQU	1
PRINTER_CONTROL_RESUME	EQU	2
PRINTER_CONTROL_PURGE	EQU	3
PRINTER_CONTROL_SET_STATUS	EQU	4
PRINTER_STATUS_PAUSED	EQU	00000001h
PRINTER_STATUS_ERROR	EQU	00000002h
PRINTER_STATUS_PENDING_DELETION	EQU	00000004h
PRINTER_STATUS_PAPER_JAM	EQU	00000008h
PRINTER_STATUS_PAPER_OUT	EQU	00000010h
PRINTER_STATUS_MANUAL_FEED	EQU	00000020h
PRINTER_STATUS_PAPER_PROBLEM	EQU	00000040h
PRINTER_STATUS_OFFLINE	EQU	00000080h
PRINTER_STATUS_IO_ACTIVE	EQU	00000100h
PRINTER_STATUS_BUSY	EQU	00000200h
PRINTER_STATUS_PRINTING	EQU	00000400h
PRINTER_STATUS_OUTPUT_BIN_FULL	EQU	00000800h
PRINTER_STATUS_NOT_AVAILABLE	EQU	00001000h
PRINTER_STATUS_WAITING	EQU	00002000h
PRINTER_STATUS_PROCESSING	EQU	00004000h
PRINTER_STATUS_INITIALIZING	EQU	00008000h
PRINTER_STATUS_WARMING_UP	EQU	00010000h
PRINTER_STATUS_TONER_LOW	EQU	00020000h
PRINTER_STATUS_NO_TONER	EQU	00040000h
PRINTER_STATUS_PAGE_PUNT	EQU	00080000h
PRINTER_STATUS_USER_INTERVENTION	EQU	00100000h
PRINTER_STATUS_OUT_OF_MEMORY	EQU	00200000h
PRINTER_STATUS_DOOR_OPEN	EQU	00400000h
PRINTER_STATUS_SERVER_UNKNOWN	EQU	00800000h
PRINTER_STATUS_POWER_SAVE	EQU	01000000h
PRINTER_ATTRIBUTE_QUEUED	EQU	00000001h
PRINTER_ATTRIBUTE_DIRECT	EQU	00000002h
PRINTER_ATTRIBUTE_DEFAULT	EQU	00000004h
PRINTER_ATTRIBUTE_SHARED	EQU	00000008h
PRINTER_ATTRIBUTE_NETWORK	EQU	00000010h
PRINTER_ATTRIBUTE_HIDDEN	EQU	00000020h
PRINTER_ATTRIBUTE_LOCAL	EQU	00000040h
PRINTER_ATTRIBUTE_ENABLE_DEVQ	EQU	00000080h
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS	EQU	00000100h
PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST	EQU	00000200h
PRINTER_ATTRIBUTE_WORK_OFFLINE	EQU	00000400h
PRINTER_ATTRIBUTE_ENABLE_BIDI	EQU	00000800h
PRINTER_ATTRIBUTE_RAW_ONLY	EQU	00001000h
PRINTER_ATTRIBUTE_PUBLISHED	EQU	00002000h
NO_PRIORITY	EQU	0
MAX_PRIORITY	EQU	99
MIN_PRIORITY	EQU	1
DEF_PRIORITY	EQU	1
JOB_INFO_1A	struct
JobId	DWORD	?
pPrinterName	LPSTR	?
pMachineName	LPSTR	?
pUserName	LPSTR	?
pDocument	LPSTR	?
pDatatype	LPSTR	?
pStatus	LPSTR	?
Status	DWORD	?
Priority	DWORD	?
Position	DWORD	?
TotalPages	DWORD	?
PagesPrinted	DWORD	?
Submitted	SYSTEMTIME	<>
JOB_INFO_1A	ends

PJOB_INFO_1A typedef ptr JOB_INFO_1A
LPJOB_INFO_1A typedef ptr JOB_INFO_1A

JOB_INFO_1W	struct
JobId	DWORD	?
pPrinterName	LPWSTR	?
pMachineName	LPWSTR	?
pUserName	LPWSTR	?
pDocument	LPWSTR	?
pDatatype	LPWSTR	?
pStatus	LPWSTR	?
Status	DWORD	?
Priority	DWORD	?
Position	DWORD	?
TotalPages	DWORD	?
PagesPrinted	DWORD	?
Submitted	SYSTEMTIME	<>
JOB_INFO_1W	ends

PJOB_INFO_1W typedef ptr JOB_INFO_1W
LPJOB_INFO_1W typedef ptr JOB_INFO_1W

ifdef UNICODE 
JOB_INFO_1  typedef JOB_INFO_1W
PJOB_INFO_1  typedef PJOB_INFO_1W
LPJOB_INFO_1  typedef LPJOB_INFO_1W
else 
JOB_INFO_1  typedef JOB_INFO_1A
PJOB_INFO_1  typedef PJOB_INFO_1A
LPJOB_INFO_1  typedef LPJOB_INFO_1A
endif 
JOB_INFO_2A	struct
JobId	DWORD	?
pPrinterName	LPSTR	?
pMachineName	LPSTR	?
pUserName	LPSTR	?
pDocument	LPSTR	?
pNotifyName	LPSTR	?
pDatatype	LPSTR	?
pPrintProcessor	LPSTR	?
pParameters	LPSTR	?
pDriverName	LPSTR	?
pDevMode	LPDEVMODEA	?
pStatus	LPSTR	?
pSecurityDescriptor	PSECURITY_DESCRIPTOR	?
Status	DWORD	?
Priority	DWORD	?
Position	DWORD	?
StartTime	DWORD	?
UntilTime	DWORD	?
TotalPages	DWORD	?
Size_	DWORD	?
Submitted	SYSTEMTIME	<>
Time	DWORD	?
PagesPrinted	DWORD	?
JOB_INFO_2A	ends

PJOB_INFO_2A typedef ptr JOB_INFO_2A
LPJOB_INFO_2A typedef ptr JOB_INFO_2A

JOB_INFO_2W	struct
JobId	DWORD	?
pPrinterName	LPWSTR	?
pMachineName	LPWSTR	?
pUserName	LPWSTR	?
pDocument	LPWSTR	?
pNotifyName	LPWSTR	?
pDatatype	LPWSTR	?
pPrintProcessor	LPWSTR	?
pParameters	LPWSTR	?
pDriverName	LPWSTR	?
pDevMode	LPDEVMODEW	?
pStatus	LPWSTR	?
pSecurityDescriptor	PSECURITY_DESCRIPTOR	?
Status	DWORD	?
Priority	DWORD	?
Position	DWORD	?
StartTime	DWORD	?
UntilTime	DWORD	?
TotalPages	DWORD	?
Size_	DWORD	?
Submitted	SYSTEMTIME	<>
Time	DWORD	?
PagesPrinted	DWORD	?
JOB_INFO_2W	ends

PJOB_INFO_2W typedef ptr JOB_INFO_2W
LPJOB_INFO_2W typedef ptr JOB_INFO_2W

ifdef UNICODE 
JOB_INFO_2  typedef JOB_INFO_2W
PJOB_INFO_2  typedef PJOB_INFO_2W
LPJOB_INFO_2  typedef LPJOB_INFO_2W
else 
JOB_INFO_2  typedef JOB_INFO_2A
PJOB_INFO_2  typedef PJOB_INFO_2A
LPJOB_INFO_2  typedef LPJOB_INFO_2A
endif 
JOB_INFO_3	struct
JobId	DWORD	?
NextJobId	DWORD	?
Reserved	DWORD	?
JOB_INFO_3	ends

PJOB_INFO_3 typedef ptr JOB_INFO_3
LPJOB_INFO_3 typedef ptr JOB_INFO_3

JOB_CONTROL_PAUSE	EQU	1
JOB_CONTROL_RESUME	EQU	2
JOB_CONTROL_CANCEL	EQU	3
JOB_CONTROL_RESTART	EQU	4
JOB_CONTROL_DELETE	EQU	5
JOB_CONTROL_SENT_TO_PRINTER	EQU	6
JOB_CONTROL_LAST_PAGE_EJECTED	EQU	7
JOB_STATUS_PAUSED	EQU	00000001h
JOB_STATUS_ERROR	EQU	00000002h
JOB_STATUS_DELETING	EQU	00000004h
JOB_STATUS_SPOOLING	EQU	00000008h
JOB_STATUS_PRINTING	EQU	00000010h
JOB_STATUS_OFFLINE	EQU	00000020h
JOB_STATUS_PAPEROUT	EQU	00000040h
JOB_STATUS_PRINTED	EQU	00000080h
JOB_STATUS_DELETED	EQU	00000100h
JOB_STATUS_BLOCKED_DEVQ	EQU	00000200h
JOB_STATUS_USER_INTERVENTION	EQU	00000400h
JOB_STATUS_RESTART	EQU	00000800h
JOB_POSITION_UNSPECIFIED	EQU	0
ADDJOB_INFO_1A	struct
Path	LPSTR	?
JobId	DWORD	?
ADDJOB_INFO_1A	ends

PADDJOB_INFO_1A typedef ptr ADDJOB_INFO_1A
LPADDJOB_INFO_1A typedef ptr ADDJOB_INFO_1A

ADDJOB_INFO_1W	struct
Path	LPWSTR	?
JobId	DWORD	?
ADDJOB_INFO_1W	ends

PADDJOB_INFO_1W typedef ptr ADDJOB_INFO_1W
LPADDJOB_INFO_1W typedef ptr ADDJOB_INFO_1W

ifdef UNICODE 
ADDJOB_INFO_1  typedef ADDJOB_INFO_1W
PADDJOB_INFO_1  typedef PADDJOB_INFO_1W
LPADDJOB_INFO_1  typedef LPADDJOB_INFO_1W
else 
ADDJOB_INFO_1  typedef ADDJOB_INFO_1A
PADDJOB_INFO_1  typedef PADDJOB_INFO_1A
LPADDJOB_INFO_1  typedef LPADDJOB_INFO_1A
endif 
DRIVER_INFO_1A	struct
pName	LPSTR	?
DRIVER_INFO_1A	ends

PDRIVER_INFO_1A typedef ptr DRIVER_INFO_1A
LPDRIVER_INFO_1A typedef ptr DRIVER_INFO_1A

DRIVER_INFO_1W	struct
pName	LPWSTR	?
DRIVER_INFO_1W	ends

PDRIVER_INFO_1W typedef ptr DRIVER_INFO_1W
LPDRIVER_INFO_1W typedef ptr DRIVER_INFO_1W

ifdef UNICODE 
DRIVER_INFO_1  typedef DRIVER_INFO_1W
PDRIVER_INFO_1  typedef PDRIVER_INFO_1W
LPDRIVER_INFO_1  typedef LPDRIVER_INFO_1W
else 
DRIVER_INFO_1  typedef DRIVER_INFO_1A
PDRIVER_INFO_1  typedef PDRIVER_INFO_1A
LPDRIVER_INFO_1  typedef LPDRIVER_INFO_1A
endif 
DRIVER_INFO_2A	struct
cVersion	DWORD	?
pName	LPSTR	?
pEnvironment	LPSTR	?
pDriverPath	LPSTR	?
pDataFile	LPSTR	?
pConfigFile	LPSTR	?
DRIVER_INFO_2A	ends

PDRIVER_INFO_2A typedef ptr DRIVER_INFO_2A
LPDRIVER_INFO_2A typedef ptr DRIVER_INFO_2A

DRIVER_INFO_2W	struct
cVersion	DWORD	?
pName	LPWSTR	?
pEnvironment	LPWSTR	?
pDriverPath	LPWSTR	?
pDataFile	LPWSTR	?
pConfigFile	LPWSTR	?
DRIVER_INFO_2W	ends

PDRIVER_INFO_2W typedef ptr DRIVER_INFO_2W
LPDRIVER_INFO_2W typedef ptr DRIVER_INFO_2W

ifdef UNICODE 
DRIVER_INFO_2  typedef DRIVER_INFO_2W
PDRIVER_INFO_2  typedef PDRIVER_INFO_2W
LPDRIVER_INFO_2  typedef LPDRIVER_INFO_2W
else 
DRIVER_INFO_2  typedef DRIVER_INFO_2A
PDRIVER_INFO_2  typedef PDRIVER_INFO_2A
LPDRIVER_INFO_2  typedef LPDRIVER_INFO_2A
endif 
DRIVER_INFO_3A	struct
cVersion	DWORD	?
pName	LPSTR	?
pEnvironment	LPSTR	?
pDriverPath	LPSTR	?
pDataFile	LPSTR	?
pConfigFile	LPSTR	?
pHelpFile	LPSTR	?
pDependentFiles	LPSTR	?
pMonitorName	LPSTR	?
pDefaultDataType	LPSTR	?
DRIVER_INFO_3A	ends

PDRIVER_INFO_3A typedef ptr DRIVER_INFO_3A
LPDRIVER_INFO_3A typedef ptr DRIVER_INFO_3A

DRIVER_INFO_3W	struct
cVersion	DWORD	?
pName	LPWSTR	?
pEnvironment	LPWSTR	?
pDriverPath	LPWSTR	?
pDataFile	LPWSTR	?
pConfigFile	LPWSTR	?
pHelpFile	LPWSTR	?
pDependentFiles	LPWSTR	?
pMonitorName	LPWSTR	?
pDefaultDataType	LPWSTR	?
DRIVER_INFO_3W	ends

PDRIVER_INFO_3W typedef ptr DRIVER_INFO_3W
LPDRIVER_INFO_3W typedef ptr DRIVER_INFO_3W

ifdef UNICODE 
DRIVER_INFO_3  typedef DRIVER_INFO_3W
PDRIVER_INFO_3  typedef PDRIVER_INFO_3W
LPDRIVER_INFO_3  typedef LPDRIVER_INFO_3W
else 
DRIVER_INFO_3  typedef DRIVER_INFO_3A
PDRIVER_INFO_3  typedef PDRIVER_INFO_3A
LPDRIVER_INFO_3  typedef LPDRIVER_INFO_3A
endif 
DPD_DELETE_UNUSED_FILES	EQU	00000001h
DPD_DELETE_SPECIFIC_VERSION	EQU	00000002h
DPD_DELETE_ALL_FILES	EQU	00000004h
APD_STRICT_UPGRADE	EQU	00000001h
APD_STRICT_DOWNGRADE	EQU	00000002h
APD_COPY_ALL_FILES	EQU	00000004h
APD_COPY_NEW_FILES	EQU	00000008h
DOC_INFO_1A	struct
pDocName	LPSTR	?
pOutputFile	LPSTR	?
pDatatype	LPSTR	?
DOC_INFO_1A	ends

PDOC_INFO_1A typedef ptr DOC_INFO_1A
LPDOC_INFO_1A typedef ptr DOC_INFO_1A

DOC_INFO_1W	struct
pDocName	LPWSTR	?
pOutputFile	LPWSTR	?
pDatatype	LPWSTR	?
DOC_INFO_1W	ends

PDOC_INFO_1W typedef ptr DOC_INFO_1W
LPDOC_INFO_1W typedef ptr DOC_INFO_1W

ifdef UNICODE 
DOC_INFO_1  typedef DOC_INFO_1W
PDOC_INFO_1  typedef PDOC_INFO_1W
LPDOC_INFO_1  typedef LPDOC_INFO_1W
else 
DOC_INFO_1  typedef DOC_INFO_1A
PDOC_INFO_1  typedef PDOC_INFO_1A
LPDOC_INFO_1  typedef LPDOC_INFO_1A
endif 
FORM_INFO_1A	struct
Flags	DWORD	?
pName	LPSTR	?
Size_	SIZEL	<>
ImageableArea	RECTL	<>
FORM_INFO_1A	ends

PFORM_INFO_1A typedef ptr FORM_INFO_1A
LPFORM_INFO_1A typedef ptr FORM_INFO_1A

FORM_INFO_1W	struct
Flags	DWORD	?
pName	LPWSTR	?
Size_	SIZEL	<>
ImageableArea	RECTL	<>
FORM_INFO_1W	ends

PFORM_INFO_1W typedef ptr FORM_INFO_1W
LPFORM_INFO_1W typedef ptr FORM_INFO_1W

ifdef UNICODE 
FORM_INFO_1  typedef FORM_INFO_1W
PFORM_INFO_1  typedef PFORM_INFO_1W
LPFORM_INFO_1  typedef LPFORM_INFO_1W
else 
FORM_INFO_1  typedef FORM_INFO_1A
PFORM_INFO_1  typedef PFORM_INFO_1A
LPFORM_INFO_1  typedef LPFORM_INFO_1A
endif 
DOC_INFO_2A	struct
pDocName	LPSTR	?
pOutputFile	LPSTR	?
pDatatype	LPSTR	?
dwMode	DWORD	?
JobId	DWORD	?
DOC_INFO_2A	ends

PDOC_INFO_2A typedef ptr DOC_INFO_2A
LPDOC_INFO_2A typedef ptr DOC_INFO_2A

DOC_INFO_2W	struct
pDocName	LPWSTR	?
pOutputFile	LPWSTR	?
pDatatype	LPWSTR	?
dwMode	DWORD	?
JobId	DWORD	?
DOC_INFO_2W	ends

PDOC_INFO_2W typedef ptr DOC_INFO_2W
LPDOC_INFO_2W typedef ptr DOC_INFO_2W

ifdef UNICODE 
DOC_INFO_2  typedef DOC_INFO_2W
PDOC_INFO_2  typedef PDOC_INFO_2W
LPDOC_INFO_2  typedef LPDOC_INFO_2W
else 
DOC_INFO_2  typedef DOC_INFO_2A
PDOC_INFO_2  typedef PDOC_INFO_2A
LPDOC_INFO_2  typedef LPDOC_INFO_2A
endif 
DI_CHANNEL	EQU	1
DI_READ_SPOOL_JOB	EQU	3
FORM_USER	EQU	00000000h
FORM_BUILTIN	EQU	00000001h
FORM_PRINTER	EQU	00000002h
PRINTPROCESSOR_INFO_1A	struct
pName	LPSTR	?
PRINTPROCESSOR_INFO_1A	ends

PPRINTPROCESSOR_INFO_1A typedef ptr PRINTPROCESSOR_INFO_1A
LPPRINTPROCESSOR_INFO_1A typedef ptr PRINTPROCESSOR_INFO_1A

PRINTPROCESSOR_INFO_1W	struct
pName	LPWSTR	?
PRINTPROCESSOR_INFO_1W	ends

PPRINTPROCESSOR_INFO_1W typedef ptr PRINTPROCESSOR_INFO_1W
LPPRINTPROCESSOR_INFO_1W typedef ptr PRINTPROCESSOR_INFO_1W

ifdef UNICODE 
PRINTPROCESSOR_INFO_1  typedef PRINTPROCESSOR_INFO_1W
PPRINTPROCESSOR_INFO_1  typedef PPRINTPROCESSOR_INFO_1W
LPPRINTPROCESSOR_INFO_1  typedef LPPRINTPROCESSOR_INFO_1W
else 
PRINTPROCESSOR_INFO_1  typedef PRINTPROCESSOR_INFO_1A
PPRINTPROCESSOR_INFO_1  typedef PPRINTPROCESSOR_INFO_1A
LPPRINTPROCESSOR_INFO_1  typedef LPPRINTPROCESSOR_INFO_1A
endif 
PRINTPROCESSOR_CAPS_1	struct
dwLevel	DWORD	?
dwNupOptions	DWORD	?
dwPageOrderFlags	DWORD	?
dwNumberOfCopies	DWORD	?
PRINTPROCESSOR_CAPS_1	ends

PPRINTPROCESSOR_CAPS_1 typedef ptr PRINTPROCESSOR_CAPS_1

PORT_INFO_1A	struct
pName	LPSTR	?
PORT_INFO_1A	ends

PPORT_INFO_1A typedef ptr PORT_INFO_1A
LPPORT_INFO_1A typedef ptr PORT_INFO_1A

PORT_INFO_1W	struct
pName	LPWSTR	?
PORT_INFO_1W	ends

PPORT_INFO_1W typedef ptr PORT_INFO_1W
LPPORT_INFO_1W typedef ptr PORT_INFO_1W

ifdef UNICODE 
PORT_INFO_1  typedef PORT_INFO_1W
PPORT_INFO_1  typedef PPORT_INFO_1W
LPPORT_INFO_1  typedef LPPORT_INFO_1W
else 
PORT_INFO_1  typedef PORT_INFO_1A
PPORT_INFO_1  typedef PPORT_INFO_1A
LPPORT_INFO_1  typedef LPPORT_INFO_1A
endif 
PORT_INFO_2A	struct
pPortName	LPSTR	?
pMonitorName	LPSTR	?
pDescription	LPSTR	?
fPortType	DWORD	?
Reserved	DWORD	?
PORT_INFO_2A	ends

PPORT_INFO_2A typedef ptr PORT_INFO_2A
LPPORT_INFO_2A typedef ptr PORT_INFO_2A

PORT_INFO_2W	struct
pPortName	LPWSTR	?
pMonitorName	LPWSTR	?
pDescription	LPWSTR	?
fPortType	DWORD	?
Reserved	DWORD	?
PORT_INFO_2W	ends

PPORT_INFO_2W typedef ptr PORT_INFO_2W
LPPORT_INFO_2W typedef ptr PORT_INFO_2W

ifdef UNICODE 
PORT_INFO_2  typedef PORT_INFO_2W
PPORT_INFO_2  typedef PPORT_INFO_2W
LPPORT_INFO_2  typedef LPPORT_INFO_2W
else 
PORT_INFO_2  typedef PORT_INFO_2A
PPORT_INFO_2  typedef PPORT_INFO_2A
LPPORT_INFO_2  typedef LPPORT_INFO_2A
endif 
PORT_TYPE_WRITE	EQU	0001h
PORT_TYPE_READ	EQU	0002h
PORT_TYPE_REDIRECTED	EQU	0004h
PORT_TYPE_NET_ATTACHED	EQU	0008h
PORT_INFO_3A	struct
dwStatus	DWORD	?
pszStatus	LPSTR	?
dwSeverity	DWORD	?
PORT_INFO_3A	ends

PPORT_INFO_3A typedef ptr PORT_INFO_3A
LPPORT_INFO_3A typedef ptr PORT_INFO_3A

PORT_INFO_3W	struct
dwStatus	DWORD	?
pszStatus	LPWSTR	?
dwSeverity	DWORD	?
PORT_INFO_3W	ends

PPORT_INFO_3W typedef ptr PORT_INFO_3W
LPPORT_INFO_3W typedef ptr PORT_INFO_3W

ifdef UNICODE 
PORT_INFO_3  typedef PORT_INFO_3W
PPORT_INFO_3  typedef PPORT_INFO_3W
LPPORT_INFO_3  typedef LPPORT_INFO_3W
else 
PORT_INFO_3  typedef PORT_INFO_3A
PPORT_INFO_3  typedef PPORT_INFO_3A
LPPORT_INFO_3  typedef LPPORT_INFO_3A
endif 
PORT_STATUS_TYPE_ERROR	EQU	1
PORT_STATUS_TYPE_WARNING	EQU	2
PORT_STATUS_TYPE_INFO	EQU	3
PORT_STATUS_OFFLINE	EQU	1
PORT_STATUS_PAPER_JAM	EQU	2
PORT_STATUS_PAPER_OUT	EQU	3
PORT_STATUS_OUTPUT_BIN_FULL	EQU	4
PORT_STATUS_PAPER_PROBLEM	EQU	5
PORT_STATUS_NO_TONER	EQU	6
PORT_STATUS_DOOR_OPEN	EQU	7
PORT_STATUS_USER_INTERVENTION	EQU	8
PORT_STATUS_OUT_OF_MEMORY	EQU	9
PORT_STATUS_TONER_LOW	EQU	10
PORT_STATUS_WARMING_UP	EQU	11
PORT_STATUS_POWER_SAVE	EQU	12
MONITOR_INFO_1A	struct
pName	LPSTR	?
MONITOR_INFO_1A	ends

PMONITOR_INFO_1A typedef ptr MONITOR_INFO_1A
LPMONITOR_INFO_1A typedef ptr MONITOR_INFO_1A

MONITOR_INFO_1W	struct
pName	LPWSTR	?
MONITOR_INFO_1W	ends

PMONITOR_INFO_1W typedef ptr MONITOR_INFO_1W
LPMONITOR_INFO_1W typedef ptr MONITOR_INFO_1W

ifdef UNICODE 
MONITOR_INFO_1  typedef MONITOR_INFO_1W
PMONITOR_INFO_1  typedef PMONITOR_INFO_1W
LPMONITOR_INFO_1  typedef LPMONITOR_INFO_1W
else 
MONITOR_INFO_1  typedef MONITOR_INFO_1A
PMONITOR_INFO_1  typedef PMONITOR_INFO_1A
LPMONITOR_INFO_1  typedef LPMONITOR_INFO_1A
endif 
MONITOR_INFO_2A	struct
pName	LPSTR	?
pEnvironment	LPSTR	?
pDLLName	LPSTR	?
MONITOR_INFO_2A	ends

PMONITOR_INFO_2A typedef ptr MONITOR_INFO_2A
LPMONITOR_INFO_2A typedef ptr MONITOR_INFO_2A

MONITOR_INFO_2W	struct
pName	LPWSTR	?
pEnvironment	LPWSTR	?
pDLLName	LPWSTR	?
MONITOR_INFO_2W	ends

PMONITOR_INFO_2W typedef ptr MONITOR_INFO_2W
LPMONITOR_INFO_2W typedef ptr MONITOR_INFO_2W

ifdef UNICODE 
MONITOR_INFO_2  typedef MONITOR_INFO_2W
PMONITOR_INFO_2  typedef PMONITOR_INFO_2W
LPMONITOR_INFO_2  typedef LPMONITOR_INFO_2W
else 
MONITOR_INFO_2  typedef MONITOR_INFO_2A
PMONITOR_INFO_2  typedef PMONITOR_INFO_2A
LPMONITOR_INFO_2  typedef LPMONITOR_INFO_2A
endif 
DATATYPES_INFO_1A	struct
pName	LPSTR	?
DATATYPES_INFO_1A	ends

PDATATYPES_INFO_1A typedef ptr DATATYPES_INFO_1A
LPDATATYPES_INFO_1A typedef ptr DATATYPES_INFO_1A

DATATYPES_INFO_1W	struct
pName	LPWSTR	?
DATATYPES_INFO_1W	ends

PDATATYPES_INFO_1W typedef ptr DATATYPES_INFO_1W
LPDATATYPES_INFO_1W typedef ptr DATATYPES_INFO_1W

ifdef UNICODE 
DATATYPES_INFO_1  typedef DATATYPES_INFO_1W
PDATATYPES_INFO_1  typedef PDATATYPES_INFO_1W
LPDATATYPES_INFO_1  typedef LPDATATYPES_INFO_1W
else 
DATATYPES_INFO_1  typedef DATATYPES_INFO_1A
PDATATYPES_INFO_1  typedef PDATATYPES_INFO_1A
LPDATATYPES_INFO_1  typedef LPDATATYPES_INFO_1A
endif 
PRINTER_DEFAULTSA	struct
pDatatype	LPSTR	?
pDevMode	LPDEVMODEA	?
DesiredAccess	ACCESS_MASK	?
PRINTER_DEFAULTSA	ends

PPRINTER_DEFAULTSA typedef ptr PRINTER_DEFAULTSA
LPPRINTER_DEFAULTSA typedef ptr PRINTER_DEFAULTSA

PRINTER_DEFAULTSW	struct
pDatatype	LPWSTR	?
pDevMode	LPDEVMODEW	?
DesiredAccess	ACCESS_MASK	?
PRINTER_DEFAULTSW	ends

PPRINTER_DEFAULTSW typedef ptr PRINTER_DEFAULTSW
LPPRINTER_DEFAULTSW typedef ptr PRINTER_DEFAULTSW

ifdef UNICODE 
PRINTER_DEFAULTS  typedef PRINTER_DEFAULTSW
PPRINTER_DEFAULTS  typedef PPRINTER_DEFAULTSW
LPPRINTER_DEFAULTS  typedef LPPRINTER_DEFAULTSW
else 
PRINTER_DEFAULTS  typedef PRINTER_DEFAULTSA
PPRINTER_DEFAULTS  typedef PPRINTER_DEFAULTSA
LPPRINTER_DEFAULTS  typedef LPPRINTER_DEFAULTSA
endif 
PRINTER_ENUM_VALUESA	struct
pValueName	LPSTR	?
cbValueName	DWORD	?
dwType	DWORD	?
pData	LPBYTE	?
cbData	DWORD	?
PRINTER_ENUM_VALUESA	ends

PPRINTER_ENUM_VALUESA typedef ptr PRINTER_ENUM_VALUESA
LPPRINTER_ENUM_VALUESA typedef ptr PRINTER_ENUM_VALUESA

PRINTER_ENUM_VALUESW	struct
pValueName	LPWSTR	?
cbValueName	DWORD	?
dwType	DWORD	?
pData	LPBYTE	?
cbData	DWORD	?
PRINTER_ENUM_VALUESW	ends

PPRINTER_ENUM_VALUESW typedef ptr PRINTER_ENUM_VALUESW
LPPRINTER_ENUM_VALUESW typedef ptr PRINTER_ENUM_VALUESW

ifdef UNICODE 
PRINTER_ENUM_VALUES  typedef PRINTER_ENUM_VALUESW
PPRINTER_ENUM_VALUES  typedef PPRINTER_ENUM_VALUESW
LPPRINTER_ENUM_VALUES  typedef LPPRINTER_ENUM_VALUESW
else 
PRINTER_ENUM_VALUES  typedef PRINTER_ENUM_VALUESA
PPRINTER_ENUM_VALUES  typedef PPRINTER_ENUM_VALUESA
LPPRINTER_ENUM_VALUES  typedef LPPRINTER_ENUM_VALUESA
endif 
EnumPrintersA proto WINSTDCALLCONV  :DWORD, :LPSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
EnumPrintersW proto WINSTDCALLCONV  :DWORD, :LPWSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
ifdef UNICODE 
EnumPrinters	EQU	<EnumPrintersW>
else 
EnumPrinters	EQU	<EnumPrintersA>
endif 
PRINTER_ENUM_DEFAULT	EQU	00000001h
PRINTER_ENUM_LOCAL	EQU	00000002h
PRINTER_ENUM_CONNECTIONS	EQU	00000004h
PRINTER_ENUM_FAVORITE	EQU	00000004h
PRINTER_ENUM_NAME	EQU	00000008h
PRINTER_ENUM_REMOTE	EQU	00000010h
PRINTER_ENUM_SHARED	EQU	00000020h
PRINTER_ENUM_NETWORK	EQU	00000040h
PRINTER_ENUM_EXPAND	EQU	00004000h
PRINTER_ENUM_CONTAINER	EQU	00008000h
PRINTER_ENUM_ICONMASK	EQU	00ff0000h
PRINTER_ENUM_ICON1	EQU	00010000h
PRINTER_ENUM_ICON2	EQU	00020000h
PRINTER_ENUM_ICON3	EQU	00040000h
PRINTER_ENUM_ICON4	EQU	00080000h
PRINTER_ENUM_ICON5	EQU	00100000h
PRINTER_ENUM_ICON6	EQU	00200000h
PRINTER_ENUM_ICON7	EQU	00400000h
PRINTER_ENUM_ICON8	EQU	00800000h
OpenPrinterA proto WINSTDCALLCONV  :LPSTR, :LPHANDLE, :LPPRINTER_DEFAULTSA
OpenPrinterW proto WINSTDCALLCONV  :LPWSTR, :LPHANDLE, :LPPRINTER_DEFAULTSW
ifdef UNICODE 
OpenPrinter	EQU	<OpenPrinterW>
else 
OpenPrinter	EQU	<OpenPrinterA>
endif 
ResetPrinterA proto WINSTDCALLCONV  :HANDLE, :LPPRINTER_DEFAULTSA
ResetPrinterW proto WINSTDCALLCONV  :HANDLE, :LPPRINTER_DEFAULTSW
ifdef UNICODE 
ResetPrinter	EQU	<ResetPrinterW>
else 
ResetPrinter	EQU	<ResetPrinterA>
endif 
SetJobA proto WINSTDCALLCONV  :HANDLE, :DWORD, :DWORD, :LPBYTE, :DWORD
SetJobW proto WINSTDCALLCONV  :HANDLE, :DWORD, :DWORD, :LPBYTE, :DWORD
ifdef UNICODE 
SetJob	EQU	<SetJobW>
else 
SetJob	EQU	<SetJobA>
endif 
GetJobA proto WINSTDCALLCONV  :HANDLE, :DWORD, :DWORD, :LPBYTE, :DWORD, :LPDWORD
GetJobW proto WINSTDCALLCONV  :HANDLE, :DWORD, :DWORD, :LPBYTE, :DWORD, :LPDWORD
ifdef UNICODE 
GetJob	EQU	<GetJobW>
else 
GetJob	EQU	<GetJobA>
endif 
EnumJobsA proto WINSTDCALLCONV  :HANDLE, :DWORD, :DWORD, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
EnumJobsW proto WINSTDCALLCONV  :HANDLE, :DWORD, :DWORD, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
ifdef UNICODE 
EnumJobs	EQU	<EnumJobsW>
else 
EnumJobs	EQU	<EnumJobsA>
endif 
AddPrinterA proto WINSTDCALLCONV  :LPSTR, :DWORD, :LPBYTE
AddPrinterW proto WINSTDCALLCONV  :LPWSTR, :DWORD, :LPBYTE
ifdef UNICODE 
AddPrinter	EQU	<AddPrinterW>
else 
AddPrinter	EQU	<AddPrinterA>
endif 
DeletePrinter proto WINSTDCALLCONV  :HANDLE
SetPrinterA proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE, :DWORD
SetPrinterW proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE, :DWORD
ifdef UNICODE 
SetPrinter	EQU	<SetPrinterW>
else 
SetPrinter	EQU	<SetPrinterA>
endif 
GetPrinterA proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE, :DWORD, :LPDWORD
GetPrinterW proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE, :DWORD, :LPDWORD
ifdef UNICODE 
GetPrinter	EQU	<GetPrinterW>
else 
GetPrinter	EQU	<GetPrinterA>
endif 
AddPrinterDriverA proto WINSTDCALLCONV  :LPSTR, :DWORD, :LPBYTE
AddPrinterDriverW proto WINSTDCALLCONV  :LPWSTR, :DWORD, :LPBYTE
ifdef UNICODE 
AddPrinterDriver	EQU	<AddPrinterDriverW>
else 
AddPrinterDriver	EQU	<AddPrinterDriverA>
endif 
AddPrinterDriverExA proto WINSTDCALLCONV  :LPSTR, :DWORD, :LPBYTE, :DWORD
AddPrinterDriverExW proto WINSTDCALLCONV  :LPWSTR, :DWORD, :LPBYTE, :DWORD
ifdef UNICODE 
AddPrinterDriverEx	EQU	<AddPrinterDriverExW>
else 
AddPrinterDriverEx	EQU	<AddPrinterDriverExA>
endif 
EnumPrinterDriversA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
EnumPrinterDriversW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
ifdef UNICODE 
EnumPrinterDrivers	EQU	<EnumPrinterDriversW>
else 
EnumPrinterDrivers	EQU	<EnumPrinterDriversA>
endif 
GetPrinterDriverA proto WINSTDCALLCONV  :HANDLE, :LPSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD
GetPrinterDriverW proto WINSTDCALLCONV  :HANDLE, :LPWSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD
ifdef UNICODE 
GetPrinterDriver	EQU	<GetPrinterDriverW>
else 
GetPrinterDriver	EQU	<GetPrinterDriverA>
endif 
GetPrinterDriverDirectoryA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD
GetPrinterDriverDirectoryW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD
ifdef UNICODE 
GetPrinterDriverDirectory	EQU	<GetPrinterDriverDirectoryW>
else 
GetPrinterDriverDirectory	EQU	<GetPrinterDriverDirectoryA>
endif 
DeletePrinterDriverA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :LPSTR
DeletePrinterDriverW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :LPWSTR
ifdef UNICODE 
DeletePrinterDriver	EQU	<DeletePrinterDriverW>
else 
DeletePrinterDriver	EQU	<DeletePrinterDriverA>
endif 
DeletePrinterDriverExA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :LPSTR, :DWORD, :DWORD
DeletePrinterDriverExW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :LPWSTR, :DWORD, :DWORD
ifdef UNICODE 
DeletePrinterDriverEx	EQU	<DeletePrinterDriverExW>
else 
DeletePrinterDriverEx	EQU	<DeletePrinterDriverExA>
endif 
AddPerMachineConnectionA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :LPSTR, :LPSTR
AddPerMachineConnectionW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :LPWSTR, :LPWSTR
ifdef UNICODE 
AddPerMachineConnection	EQU	<AddPerMachineConnectionW>
else 
AddPerMachineConnection	EQU	<AddPerMachineConnectionA>
endif 
DeletePerMachineConnectionA proto WINSTDCALLCONV  :LPSTR, :LPSTR
DeletePerMachineConnectionW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR
ifdef UNICODE 
DeletePerMachineConnection	EQU	<DeletePerMachineConnectionW>
else 
DeletePerMachineConnection	EQU	<DeletePerMachineConnectionA>
endif 
EnumPerMachineConnectionsA proto WINSTDCALLCONV  :LPSTR, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
EnumPerMachineConnectionsW proto WINSTDCALLCONV  :LPWSTR, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
ifdef UNICODE 
EnumPerMachineConnections	EQU	<EnumPerMachineConnectionsW>
else 
EnumPerMachineConnections	EQU	<EnumPerMachineConnectionsA>
endif 
AddPrintProcessorA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :LPSTR, :LPSTR
AddPrintProcessorW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :LPWSTR, :LPWSTR
ifdef UNICODE 
AddPrintProcessor	EQU	<AddPrintProcessorW>
else 
AddPrintProcessor	EQU	<AddPrintProcessorA>
endif 
EnumPrintProcessorsA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
EnumPrintProcessorsW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
ifdef UNICODE 
EnumPrintProcessors	EQU	<EnumPrintProcessorsW>
else 
EnumPrintProcessors	EQU	<EnumPrintProcessorsA>
endif 
GetPrintProcessorDirectoryA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD
GetPrintProcessorDirectoryW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD
ifdef UNICODE 
GetPrintProcessorDirectory	EQU	<GetPrintProcessorDirectoryW>
else 
GetPrintProcessorDirectory	EQU	<GetPrintProcessorDirectoryA>
endif 
EnumPrintProcessorDatatypesA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
EnumPrintProcessorDatatypesW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
ifdef UNICODE 
EnumPrintProcessorDatatypes	EQU	<EnumPrintProcessorDatatypesW>
else 
EnumPrintProcessorDatatypes	EQU	<EnumPrintProcessorDatatypesA>
endif 
DeletePrintProcessorA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :LPSTR
DeletePrintProcessorW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :LPWSTR
ifdef UNICODE 
DeletePrintProcessor	EQU	<DeletePrintProcessorW>
else 
DeletePrintProcessor	EQU	<DeletePrintProcessorA>
endif 
StartDocPrinterA proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE
StartDocPrinterW proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE
ifdef UNICODE 
StartDocPrinter	EQU	<StartDocPrinterW>
else 
StartDocPrinter	EQU	<StartDocPrinterA>
endif 
StartPagePrinter proto WINSTDCALLCONV  :HANDLE
WritePrinter proto WINSTDCALLCONV  :HANDLE, :LPVOID, :DWORD, :LPDWORD
EndPagePrinter proto WINSTDCALLCONV  :HANDLE
AbortPrinter proto WINSTDCALLCONV  :HANDLE
ReadPrinter proto WINSTDCALLCONV  :HANDLE, :LPVOID, :DWORD, :LPDWORD
EndDocPrinter proto WINSTDCALLCONV  :HANDLE
AddJobA proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE, :DWORD, :LPDWORD
AddJobW proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE, :DWORD, :LPDWORD
ifdef UNICODE 
AddJob	EQU	<AddJobW>
else 
AddJob	EQU	<AddJobA>
endif 
ScheduleJob proto WINSTDCALLCONV  :HANDLE, :DWORD
PrinterProperties proto WINSTDCALLCONV  :HWND, :HANDLE
DocumentPropertiesA proto WINSTDCALLCONV  :HWND, :HANDLE, :LPSTR, :PDEVMODEA, :PDEVMODEA, :DWORD
DocumentPropertiesW proto WINSTDCALLCONV  :HWND, :HANDLE, :LPWSTR, :PDEVMODEW, :PDEVMODEW, :DWORD
ifdef UNICODE 
DocumentProperties	EQU	<DocumentPropertiesW>
else 
DocumentProperties	EQU	<DocumentPropertiesA>
endif 
AdvancedDocumentPropertiesA proto WINSTDCALLCONV  :HWND, :HANDLE, :LPSTR, :PDEVMODEA, :PDEVMODEA
AdvancedDocumentPropertiesW proto WINSTDCALLCONV  :HWND, :HANDLE, :LPWSTR, :PDEVMODEW, :PDEVMODEW
ifdef UNICODE 
AdvancedDocumentProperties	EQU	<AdvancedDocumentPropertiesW>
else 
AdvancedDocumentProperties	EQU	<AdvancedDocumentPropertiesA>
endif 
GetPrinterDataA proto WINSTDCALLCONV  :HANDLE, :LPSTR, :LPDWORD, :LPBYTE, :DWORD, :LPDWORD
GetPrinterDataW proto WINSTDCALLCONV  :HANDLE, :LPWSTR, :LPDWORD, :LPBYTE, :DWORD, :LPDWORD
ifdef UNICODE 
GetPrinterData	EQU	<GetPrinterDataW>
else 
GetPrinterData	EQU	<GetPrinterDataA>
endif 
GetPrinterDataExA proto WINSTDCALLCONV  :HANDLE, :LPSTR, :LPSTR, :LPDWORD, :LPBYTE, :DWORD, :LPDWORD
GetPrinterDataExW proto WINSTDCALLCONV  :HANDLE, :LPWSTR, :LPWSTR, :LPDWORD, :LPBYTE, :DWORD, :LPDWORD
ifdef UNICODE 
GetPrinterDataEx	EQU	<GetPrinterDataExW>
else 
GetPrinterDataEx	EQU	<GetPrinterDataExA>
endif 
EnumPrinterDataA proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPSTR, :DWORD, :LPDWORD, :LPDWORD, :LPBYTE, :DWORD, :LPDWORD
EnumPrinterDataW proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPWSTR, :DWORD, :LPDWORD, :LPDWORD, :LPBYTE, :DWORD, :LPDWORD
ifdef UNICODE 
EnumPrinterData	EQU	<EnumPrinterDataW>
else 
EnumPrinterData	EQU	<EnumPrinterDataA>
endif 
EnumPrinterDataExA proto WINSTDCALLCONV  :HANDLE, :LPSTR, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
EnumPrinterDataExW proto WINSTDCALLCONV  :HANDLE, :LPWSTR, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
ifdef UNICODE 
EnumPrinterDataEx	EQU	<EnumPrinterDataExW>
else 
EnumPrinterDataEx	EQU	<EnumPrinterDataExA>
endif 
EnumPrinterKeyA proto WINSTDCALLCONV  :HANDLE, :LPSTR, :LPSTR, :DWORD, :LPDWORD
EnumPrinterKeyW proto WINSTDCALLCONV  :HANDLE, :LPWSTR, :LPWSTR, :DWORD, :LPDWORD
ifdef UNICODE 
EnumPrinterKey	EQU	<EnumPrinterKeyW>
else 
EnumPrinterKey	EQU	<EnumPrinterKeyA>
endif 
SetPrinterDataA proto WINSTDCALLCONV  :HANDLE, :LPSTR, :DWORD, :LPBYTE, :DWORD
SetPrinterDataW proto WINSTDCALLCONV  :HANDLE, :LPWSTR, :DWORD, :LPBYTE, :DWORD
ifdef UNICODE 
SetPrinterData	EQU	<SetPrinterDataW>
else 
SetPrinterData	EQU	<SetPrinterDataA>
endif 
SetPrinterDataExA proto WINSTDCALLCONV  :HANDLE, :LPSTR, :LPSTR, :DWORD, :LPBYTE, :DWORD
SetPrinterDataExW proto WINSTDCALLCONV  :HANDLE, :LPWSTR, :LPWSTR, :DWORD, :LPBYTE, :DWORD
ifdef UNICODE 
SetPrinterDataEx	EQU	<SetPrinterDataExW>
else 
SetPrinterDataEx	EQU	<SetPrinterDataExA>
endif 
DeletePrinterDataA proto WINSTDCALLCONV  :HANDLE, :LPSTR
DeletePrinterDataW proto WINSTDCALLCONV  :HANDLE, :LPWSTR
ifdef UNICODE 
DeletePrinterData	EQU	<DeletePrinterDataW>
else 
DeletePrinterData	EQU	<DeletePrinterDataA>
endif 
DeletePrinterDataExA proto WINSTDCALLCONV  :HANDLE, :LPSTR, :LPSTR
DeletePrinterDataExW proto WINSTDCALLCONV  :HANDLE, :LPWSTR, :LPWSTR
ifdef UNICODE 
DeletePrinterDataEx	EQU	<DeletePrinterDataExW>
else 
DeletePrinterDataEx	EQU	<DeletePrinterDataExA>
endif 
DeletePrinterKeyA proto WINSTDCALLCONV  :HANDLE, :LPSTR
DeletePrinterKeyW proto WINSTDCALLCONV  :HANDLE, :LPWSTR
ifdef UNICODE 
DeletePrinterKey	EQU	<DeletePrinterKeyW>
else 
DeletePrinterKey	EQU	<DeletePrinterKeyA>
endif 
PRINTER_NOTIFY_TYPE	EQU	00h
JOB_NOTIFY_TYPE	EQU	01h
PRINTER_NOTIFY_FIELD_SERVER_NAME	EQU	00h
PRINTER_NOTIFY_FIELD_PRINTER_NAME	EQU	01h
PRINTER_NOTIFY_FIELD_SHARE_NAME	EQU	02h
PRINTER_NOTIFY_FIELD_PORT_NAME	EQU	03h
PRINTER_NOTIFY_FIELD_DRIVER_NAME	EQU	04h
PRINTER_NOTIFY_FIELD_COMMENT	EQU	05h
PRINTER_NOTIFY_FIELD_LOCATION	EQU	06h
PRINTER_NOTIFY_FIELD_DEVMODE	EQU	07h
PRINTER_NOTIFY_FIELD_SEPFILE	EQU	08h
PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR	EQU	09h
PRINTER_NOTIFY_FIELD_PARAMETERS	EQU	0Ah
PRINTER_NOTIFY_FIELD_DATATYPE	EQU	0Bh
PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR	EQU	0Ch
PRINTER_NOTIFY_FIELD_ATTRIBUTES	EQU	0Dh
PRINTER_NOTIFY_FIELD_PRIORITY	EQU	0Eh
PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY	EQU	0Fh
PRINTER_NOTIFY_FIELD_START_TIME	EQU	10h
PRINTER_NOTIFY_FIELD_UNTIL_TIME	EQU	11h
PRINTER_NOTIFY_FIELD_STATUS	EQU	12h
PRINTER_NOTIFY_FIELD_STATUS_STRING	EQU	13h
PRINTER_NOTIFY_FIELD_CJOBS	EQU	14h
PRINTER_NOTIFY_FIELD_AVERAGE_PPM	EQU	15h
PRINTER_NOTIFY_FIELD_TOTAL_PAGES	EQU	16h
PRINTER_NOTIFY_FIELD_PAGES_PRINTED	EQU	17h
PRINTER_NOTIFY_FIELD_TOTAL_BYTES	EQU	18h
PRINTER_NOTIFY_FIELD_BYTES_PRINTED	EQU	19h
PRINTER_NOTIFY_FIELD_OBJECT_GUID	EQU	1Ah
JOB_NOTIFY_FIELD_PRINTER_NAME	EQU	00h
JOB_NOTIFY_FIELD_MACHINE_NAME	EQU	01h
JOB_NOTIFY_FIELD_PORT_NAME	EQU	02h
JOB_NOTIFY_FIELD_USER_NAME	EQU	03h
JOB_NOTIFY_FIELD_NOTIFY_NAME	EQU	04h
JOB_NOTIFY_FIELD_DATATYPE	EQU	05h
JOB_NOTIFY_FIELD_PRINT_PROCESSOR	EQU	06h
JOB_NOTIFY_FIELD_PARAMETERS	EQU	07h
JOB_NOTIFY_FIELD_DRIVER_NAME	EQU	08h
JOB_NOTIFY_FIELD_DEVMODE	EQU	09h
JOB_NOTIFY_FIELD_STATUS	EQU	0Ah
JOB_NOTIFY_FIELD_STATUS_STRING	EQU	0Bh
JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR	EQU	0Ch
JOB_NOTIFY_FIELD_DOCUMENT	EQU	0Dh
JOB_NOTIFY_FIELD_PRIORITY	EQU	0Eh
JOB_NOTIFY_FIELD_POSITION	EQU	0Fh
JOB_NOTIFY_FIELD_SUBMITTED	EQU	10h
JOB_NOTIFY_FIELD_START_TIME	EQU	11h
JOB_NOTIFY_FIELD_UNTIL_TIME	EQU	12h
JOB_NOTIFY_FIELD_TIME	EQU	13h
JOB_NOTIFY_FIELD_TOTAL_PAGES	EQU	14h
JOB_NOTIFY_FIELD_PAGES_PRINTED	EQU	15h
JOB_NOTIFY_FIELD_TOTAL_BYTES	EQU	16h
JOB_NOTIFY_FIELD_BYTES_PRINTED	EQU	17h
PRINTER_NOTIFY_OPTIONS_TYPE	struct
Type_	WORD	?
Reserved0	WORD	?
Reserved1	DWORD	?
Reserved2	DWORD	?
Count	DWORD	?
pFields	PWORD	?
PRINTER_NOTIFY_OPTIONS_TYPE	ends

PPRINTER_NOTIFY_OPTIONS_TYPE typedef ptr PRINTER_NOTIFY_OPTIONS_TYPE
LPPRINTER_NOTIFY_OPTIONS_TYPE typedef ptr PRINTER_NOTIFY_OPTIONS_TYPE

PRINTER_NOTIFY_OPTIONS_REFRESH	EQU	01h
PRINTER_NOTIFY_OPTIONS	struct
Version	DWORD	?
Flags	DWORD	?
Count	DWORD	?
pTypes	PPRINTER_NOTIFY_OPTIONS_TYPE	?
PRINTER_NOTIFY_OPTIONS	ends

PPRINTER_NOTIFY_OPTIONS typedef ptr PRINTER_NOTIFY_OPTIONS
LPPRINTER_NOTIFY_OPTIONS typedef ptr PRINTER_NOTIFY_OPTIONS

PRINTER_NOTIFY_INFO_DISCARDED	EQU	01h
PRINTER_NOTIFY_INFO_DATA	struct
Type_	WORD	?
Field	WORD	?
Reserved	DWORD	?
Id	DWORD	?
union NotifyData
adwData	DWORD 2 dup (?)
struct Data
cbBuf	DWORD	?
pBuf	LPVOID	?
ends
ends
PRINTER_NOTIFY_INFO_DATA	ends

PPRINTER_NOTIFY_INFO_DATA typedef ptr PRINTER_NOTIFY_INFO_DATA
LPPRINTER_NOTIFY_INFO_DATA typedef ptr PRINTER_NOTIFY_INFO_DATA

PRINTER_NOTIFY_INFO	struct
Version	DWORD	?
Flags	DWORD	?
Count	DWORD	?
aData	PRINTER_NOTIFY_INFO_DATA 1 dup (<>)
PRINTER_NOTIFY_INFO	ends

PPRINTER_NOTIFY_INFO typedef ptr PRINTER_NOTIFY_INFO
LPPRINTER_NOTIFY_INFO typedef ptr PRINTER_NOTIFY_INFO

WaitForPrinterChange proto WINSTDCALLCONV  :HANDLE, :DWORD
FindFirstPrinterChangeNotification proto WINSTDCALLCONV  :HANDLE, :DWORD, :DWORD, :LPVOID
FindNextPrinterChangeNotification proto WINSTDCALLCONV  :HANDLE, :PDWORD, :LPVOID, :ptr LPVOID
FreePrinterNotifyInfo proto WINSTDCALLCONV  :PPRINTER_NOTIFY_INFO
FindClosePrinterChangeNotification proto WINSTDCALLCONV  :HANDLE
PRINTER_CHANGE_ADD_PRINTER	EQU	00000001h
PRINTER_CHANGE_SET_PRINTER	EQU	00000002h
PRINTER_CHANGE_DELETE_PRINTER	EQU	00000004h
PRINTER_CHANGE_FAILED_CONNECTION_PRINTER	EQU	00000008h
PRINTER_CHANGE_PRINTER	EQU	000000FFh
PRINTER_CHANGE_ADD_JOB	EQU	00000100h
PRINTER_CHANGE_SET_JOB	EQU	00000200h
PRINTER_CHANGE_DELETE_JOB	EQU	00000400h
PRINTER_CHANGE_WRITE_JOB	EQU	00000800h
PRINTER_CHANGE_JOB	EQU	0000FF00h
PRINTER_CHANGE_ADD_FORM	EQU	00010000h
PRINTER_CHANGE_SET_FORM	EQU	00020000h
PRINTER_CHANGE_DELETE_FORM	EQU	00040000h
PRINTER_CHANGE_FORM	EQU	00070000h
PRINTER_CHANGE_ADD_PORT	EQU	00100000h
PRINTER_CHANGE_CONFIGURE_PORT	EQU	00200000h
PRINTER_CHANGE_DELETE_PORT	EQU	00400000h
PRINTER_CHANGE_PORT	EQU	00700000h
PRINTER_CHANGE_ADD_PRINT_PROCESSOR	EQU	01000000h
PRINTER_CHANGE_DELETE_PRINT_PROCESSOR	EQU	04000000h
PRINTER_CHANGE_PRINT_PROCESSOR	EQU	07000000h
PRINTER_CHANGE_ADD_PRINTER_DRIVER	EQU	10000000h
PRINTER_CHANGE_SET_PRINTER_DRIVER	EQU	20000000h
PRINTER_CHANGE_DELETE_PRINTER_DRIVER	EQU	40000000h
PRINTER_CHANGE_PRINTER_DRIVER	EQU	70000000h
PRINTER_CHANGE_TIMEOUT	EQU	80000000h
PRINTER_CHANGE_ALL	EQU	7777FFFFh
PrinterMessageBoxA proto WINSTDCALLCONV  :HANDLE, :DWORD, :HWND, :LPSTR, :LPSTR, :DWORD
PrinterMessageBoxW proto WINSTDCALLCONV  :HANDLE, :DWORD, :HWND, :LPWSTR, :LPWSTR, :DWORD
ifdef UNICODE 
PrinterMessageBox	EQU	<PrinterMessageBoxW>
else 
PrinterMessageBox	EQU	<PrinterMessageBoxA>
endif 
PRINTER_ERROR_INFORMATION	EQU	80000000h
PRINTER_ERROR_WARNING	EQU	40000000h
PRINTER_ERROR_SEVERE	EQU	20000000h
PRINTER_ERROR_OUTOFPAPER	EQU	00000001h
PRINTER_ERROR_JAM	EQU	00000002h
PRINTER_ERROR_OUTOFTONER	EQU	00000004h
ClosePrinter proto WINSTDCALLCONV  :HANDLE
AddFormA proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE
AddFormW proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE
ifdef UNICODE 
AddForm	EQU	<AddFormW>
else 
AddForm	EQU	<AddFormA>
endif 
DeleteFormA proto WINSTDCALLCONV  :HANDLE, :LPSTR
DeleteFormW proto WINSTDCALLCONV  :HANDLE, :LPWSTR
ifdef UNICODE 
DeleteForm	EQU	<DeleteFormW>
else 
DeleteForm	EQU	<DeleteFormA>
endif 
GetFormA proto WINSTDCALLCONV  :HANDLE, :LPSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD
GetFormW proto WINSTDCALLCONV  :HANDLE, :LPWSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD
ifdef UNICODE 
GetForm	EQU	<GetFormW>
else 
GetForm	EQU	<GetFormA>
endif 
SetFormA proto WINSTDCALLCONV  :HANDLE, :LPSTR, :DWORD, :LPBYTE
SetFormW proto WINSTDCALLCONV  :HANDLE, :LPWSTR, :DWORD, :LPBYTE
ifdef UNICODE 
SetForm	EQU	<SetFormW>
else 
SetForm	EQU	<SetFormA>
endif 
EnumFormsA proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
EnumFormsW proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
ifdef UNICODE 
EnumForms	EQU	<EnumFormsW>
else 
EnumForms	EQU	<EnumFormsA>
endif 
EnumMonitorsA proto WINSTDCALLCONV  :LPSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
EnumMonitorsW proto WINSTDCALLCONV  :LPWSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
ifdef UNICODE 
EnumMonitors	EQU	<EnumMonitorsW>
else 
EnumMonitors	EQU	<EnumMonitorsA>
endif 
AddMonitorA proto WINSTDCALLCONV  :LPSTR, :DWORD, :LPBYTE
AddMonitorW proto WINSTDCALLCONV  :LPWSTR, :DWORD, :LPBYTE
ifdef UNICODE 
AddMonitor	EQU	<AddMonitorW>
else 
AddMonitor	EQU	<AddMonitorA>
endif 
DeleteMonitorA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :LPSTR
DeleteMonitorW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :LPWSTR
ifdef UNICODE 
DeleteMonitor	EQU	<DeleteMonitorW>
else 
DeleteMonitor	EQU	<DeleteMonitorA>
endif 
EnumPortsA proto WINSTDCALLCONV  :LPSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
EnumPortsW proto WINSTDCALLCONV  :LPWSTR, :DWORD, :LPBYTE, :DWORD, :LPDWORD, :LPDWORD
ifdef UNICODE 
EnumPorts	EQU	<EnumPortsW>
else 
EnumPorts	EQU	<EnumPortsA>
endif 
AddPortA proto WINSTDCALLCONV  :LPSTR, :HWND, :LPSTR
AddPortW proto WINSTDCALLCONV  :LPWSTR, :HWND, :LPWSTR
ifdef UNICODE 
AddPort	EQU	<AddPortW>
else 
AddPort	EQU	<AddPortA>
endif 
ConfigurePortA proto WINSTDCALLCONV  :LPSTR, :HWND, :LPSTR
ConfigurePortW proto WINSTDCALLCONV  :LPWSTR, :HWND, :LPWSTR
ifdef UNICODE 
ConfigurePort	EQU	<ConfigurePortW>
else 
ConfigurePort	EQU	<ConfigurePortA>
endif 
DeletePortA proto WINSTDCALLCONV  :LPSTR, :HWND, :LPSTR
DeletePortW proto WINSTDCALLCONV  :LPWSTR, :HWND, :LPWSTR
ifdef UNICODE 
DeletePort	EQU	<DeletePortW>
else 
DeletePort	EQU	<DeletePortA>
endif 
XcvDataW proto WINSTDCALLCONV  :HANDLE, :PCWSTR, :PBYTE, :DWORD, :PBYTE, :DWORD, :PDWORD, :PDWORD
XcvData	EQU	<XcvDataW>
SetPortA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :DWORD, :LPBYTE
SetPortW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :DWORD, :LPBYTE
ifdef UNICODE 
SetPort	EQU	<SetPortW>
else 
SetPort	EQU	<SetPortA>
endif 
AddPrinterConnectionA proto WINSTDCALLCONV  :LPSTR
AddPrinterConnectionW proto WINSTDCALLCONV  :LPWSTR
ifdef UNICODE 
AddPrinterConnection	EQU	<AddPrinterConnectionW>
else 
AddPrinterConnection	EQU	<AddPrinterConnectionA>
endif 
DeletePrinterConnectionA proto WINSTDCALLCONV  :LPSTR
DeletePrinterConnectionW proto WINSTDCALLCONV  :LPWSTR
ifdef UNICODE 
DeletePrinterConnection	EQU	<DeletePrinterConnectionW>
else 
DeletePrinterConnection	EQU	<DeletePrinterConnectionA>
endif 
ConnectToPrinterDlg proto WINSTDCALLCONV  :HWND, :DWORD
PROVIDOR_INFO_1A	struct
pName	LPSTR	?
pEnvironment	LPSTR	?
pDLLName	LPSTR	?
PROVIDOR_INFO_1A	ends

PPROVIDOR_INFO_1A typedef ptr PROVIDOR_INFO_1A
LPPROVIDOR_INFO_1A typedef ptr PROVIDOR_INFO_1A

PROVIDOR_INFO_1W	struct
pName	LPWSTR	?
pEnvironment	LPWSTR	?
pDLLName	LPWSTR	?
PROVIDOR_INFO_1W	ends

PPROVIDOR_INFO_1W typedef ptr PROVIDOR_INFO_1W
LPPROVIDOR_INFO_1W typedef ptr PROVIDOR_INFO_1W

ifdef UNICODE 
PROVIDOR_INFO_1  typedef PROVIDOR_INFO_1W
PPROVIDOR_INFO_1  typedef PPROVIDOR_INFO_1W
LPPROVIDOR_INFO_1  typedef LPPROVIDOR_INFO_1W
else 
PROVIDOR_INFO_1  typedef PROVIDOR_INFO_1A
PPROVIDOR_INFO_1  typedef PPROVIDOR_INFO_1A
LPPROVIDOR_INFO_1  typedef LPPROVIDOR_INFO_1A
endif 
AddPrintProvidorA proto WINSTDCALLCONV  :LPSTR, :DWORD, :LPBYTE
AddPrintProvidorW proto WINSTDCALLCONV  :LPWSTR, :DWORD, :LPBYTE
ifdef UNICODE 
AddPrintProvidor	EQU	<AddPrintProvidorW>
else 
AddPrintProvidor	EQU	<AddPrintProvidorA>
endif 
DeletePrintProvidorA proto WINSTDCALLCONV  :LPSTR, :LPSTR, :LPSTR
DeletePrintProvidorW proto WINSTDCALLCONV  :LPWSTR, :LPWSTR, :LPWSTR
ifdef UNICODE 
DeletePrintProvidor	EQU	<DeletePrintProvidorW>
else 
DeletePrintProvidor	EQU	<DeletePrintProvidorA>
endif 
SPLREG_DEFAULT_SPOOL_DIRECTORY	EQU	<TEXT ( "DefaultSpoolDirectory" )>
SPLREG_PORT_THREAD_PRIORITY_DEFAULT	EQU	<TEXT ( "PortThreadPriorityDefault" )>
SPLREG_PORT_THREAD_PRIORITY	EQU	<TEXT ( "PortThreadPriority" )>
SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT	EQU	<TEXT ( "SchedulerThreadPriorityDefault" )>
SPLREG_SCHEDULER_THREAD_PRIORITY	EQU	<TEXT ( "SchedulerThreadPriority" )>
SPLREG_BEEP_ENABLED	EQU	<TEXT ( "BeepEnabled" )>
SPLREG_NET_POPUP	EQU	<TEXT ( "NetPopup" )>
SPLREG_EVENT_LOG	EQU	<TEXT ( "EventLog" )>
SPLREG_MAJOR_VERSION	EQU	<TEXT ( "MajorVersion" )>
SPLREG_MINOR_VERSION	EQU	<TEXT ( "MinorVersion" )>
SPLREG_ARCHITECTURE	EQU	<TEXT ( "Architecture" )>
SPLREG_OS_VERSION	EQU	<TEXT ( "OSVersion" )>
SPLREG_DS_PRESENT	EQU	<TEXT ( "DsPresent" )>
SERVER_ACCESS_ADMINISTER	EQU	00000001h
SERVER_ACCESS_ENUMERATE	EQU	00000002h
PRINTER_ACCESS_ADMINISTER	EQU	00000004h
PRINTER_ACCESS_USE	EQU	00000008h
JOB_ACCESS_ADMINISTER	EQU	00000010h
SERVER_ALL_ACCESS	EQU	( STANDARD_RIGHTS_REQUIRED  or  SERVER_ACCESS_ADMINISTER  or  SERVER_ACCESS_ENUMERATE )
SERVER_READ	EQU	( STANDARD_RIGHTS_READ  or  SERVER_ACCESS_ENUMERATE )
SERVER_WRITE	EQU	( STANDARD_RIGHTS_WRITE  or  SERVER_ACCESS_ADMINISTER  or  SERVER_ACCESS_ENUMERATE )
SERVER_EXECUTE	EQU	( STANDARD_RIGHTS_EXECUTE  or  SERVER_ACCESS_ENUMERATE )
PRINTER_ALL_ACCESS	EQU	( STANDARD_RIGHTS_REQUIRED  or  PRINTER_ACCESS_ADMINISTER  or  PRINTER_ACCESS_USE )
PRINTER_READ	EQU	( STANDARD_RIGHTS_READ  or  PRINTER_ACCESS_USE )
PRINTER_WRITE	EQU	( STANDARD_RIGHTS_WRITE  or  PRINTER_ACCESS_USE )
PRINTER_EXECUTE	EQU	( STANDARD_RIGHTS_EXECUTE  or  PRINTER_ACCESS_USE )
JOB_ALL_ACCESS	EQU	( STANDARD_RIGHTS_REQUIRED  or  JOB_ACCESS_ADMINISTER )
JOB_READ	EQU	( STANDARD_RIGHTS_READ  or  JOB_ACCESS_ADMINISTER )
JOB_WRITE	EQU	( STANDARD_RIGHTS_WRITE  or  JOB_ACCESS_ADMINISTER )
JOB_EXECUTE	EQU	( STANDARD_RIGHTS_EXECUTE  or  JOB_ACCESS_ADMINISTER )
SPLDS_SPOOLER_KEY	EQU	<TEXT ( "DsSpooler" )>
SPLDS_DRIVER_KEY	EQU	<TEXT ( "DsDriver" )>
SPLDS_USER_KEY	EQU	<TEXT ( "DsUser" )>
SPLDS_ASSET_NUMBER	EQU	<TEXT ( "assetNumber" )>
SPLDS_BYTES_PER_MINUTE	EQU	<TEXT ( "bytesPerMinute" )>
SPLDS_DESCRIPTION	EQU	<TEXT ( "description" )>
SPLDS_DRIVER_NAME	EQU	<TEXT ( "driverName" )>
SPLDS_DRIVER_VERSION	EQU	<TEXT ( "driverVersion" )>
SPLDS_LOCATION	EQU	<TEXT ( "location" )>
SPLDS_PORT_NAME	EQU	<TEXT ( "portName" )>
SPLDS_PRINT_ATTRIBUTES	EQU	<TEXT ( "printAttributes" )>
SPLDS_PRINT_BIN_NAMES	EQU	<TEXT ( "printBinNames" )>
SPLDS_PRINT_COLLATE	EQU	<TEXT ( "printCollate" )>
SPLDS_PRINT_COLOR	EQU	<TEXT ( "printColor" )>
SPLDS_PRINT_DUPLEX_SUPPORTED	EQU	<TEXT ( "printDuplexSupported" )>
SPLDS_PRINT_END_TIME	EQU	<TEXT ( "printEndTime" )>
SPLDS_PRINTER_CLASS	EQU	<TEXT ( "printQueue" )>
SPLDS_PRINTER_NAME	EQU	<TEXT ( "printerName" )>
SPLDS_PRINT_KEEP_PRINTED_JOBS	EQU	<TEXT ( "printKeepPrintedJobs" )>
SPLDS_PRINT_LANGUAGE	EQU	<TEXT ( "printLanguage" )>
SPLDS_PRINT_MAC_ADDRESS	EQU	<TEXT ( "printMACAddress" )>
SPLDS_PRINT_MAX_X_EXTENT	EQU	<TEXT ( "printMaxXExtent" )>
SPLDS_PRINT_MAX_Y_EXTENT	EQU	<TEXT ( "printMaxYExtent" )>
SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED	EQU	<TEXT ( "printMaxResolutionSupported" )>
SPLDS_PRINT_MEDIA_READY	EQU	<TEXT ( "printMediaReady" )>
SPLDS_PRINT_MEDIA_SUPPORTED	EQU	<TEXT ( "printMediaSupported" )>
SPLDS_PRINT_MEMORY	EQU	<TEXT ( "printMemory" )>
SPLDS_PRINT_MIN_X_EXTENT	EQU	<TEXT ( "printMinXExtent" )>
SPLDS_PRINT_MIN_Y_EXTENT	EQU	<TEXT ( "printMinYExtent" )>
SPLDS_PRINT_NETWORK_ADDRESS	EQU	<TEXT ( "printNetworkAddress" )>
SPLDS_PRINT_NOTIFY	EQU	<TEXT ( "printNotify" )>
SPLDS_PRINT_NUMBER_UP	EQU	<TEXT ( "printNumberUp" )>
SPLDS_PRINT_ORIENTATIONS_SUPPORTED	EQU	<TEXT ( "printOrientationsSupported" )>
SPLDS_PRINT_OWNER	EQU	<TEXT ( "printOwner" )>
SPLDS_PRINT_RATE	EQU	<TEXT ( "printRate" )>
SPLDS_PRINT_RATE_UNIT	EQU	<TEXT ( "printRateUnit" )>
SPLDS_PRINT_SEPARATOR_FILE	EQU	<TEXT ( "printSeparatorFile" )>
SPLDS_PRINT_SHARE_NAME	EQU	<TEXT ( "printShareName" )>
SPLDS_PRINT_SPOOLING	EQU	<TEXT ( "printSpooling" )>
SPLDS_PRINT_STAPLING_SUPPORTED	EQU	<TEXT ( "printStaplingSupported" )>
SPLDS_PRINT_START_TIME	EQU	<TEXT ( "printStartTime" )>
SPLDS_PRINT_STATUS	EQU	<TEXT ( "printStatus" )>
SPLDS_PRIORITY	EQU	<TEXT ( "priority" )>
SPLDS_SERVER_NAME	EQU	<TEXT ( "serverName" )>
SPLDS_UNC_NAME	EQU	<TEXT ( "uNCName" )>
SPLDS_URL	EQU	<TEXT ( "url" )>
SPLDS_VERSION_NUMBER	EQU	<TEXT ( "versionNumber" )>
SPLDS_PRINTER_NAME_ALIASES	EQU	<TEXT ( "printerNameAliases" )>
SPLDS_PRINTER_LOCATIONS	EQU	<TEXT ( "printerLocations" )>
SPLDS_PRINTER_MODEL	EQU	<TEXT ( "printerModel" )>
PRINTER_HTML_VIEW_QUEUE	EQU	0
PRINTER_HTML_VIEW_PRINTPROPERTIES	EQU	1
PRINTER_HTML_VIEW_INSTALL	EQU	2
PRINTER_HTML_VIEW_JOBPROPERTIES	EQU	3
SetPrinterHTMLViewA proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPSTR
SetPrinterHTMLViewW proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPWSTR
ifdef UNICODE 
SetPrinterHTMLView	EQU	<SetPrinterHTMLViewW>
else 
SetPrinterHTMLView	EQU	<SetPrinterHTMLViewA>
endif 
GetPrinterHTMLViewA proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPSTR, :DWORD, :LPDWORD
GetPrinterHTMLViewW proto WINSTDCALLCONV  :HANDLE, :DWORD, :LPWSTR, :DWORD, :LPDWORD
ifdef UNICODE 
GetPrinterHTMLView	EQU	<GetPrinterHTMLViewW>
else 
GetPrinterHTMLView	EQU	<GetPrinterHTMLViewA>
endif 
ifdef __cplusplus 
endif 
endif 
